1 *STRIKE FORCE - COPYRIGHT 1984 BY JEFFREY STANTON 2 *PART I SCROLLING GAME 3 ORG $4000 4 *** TF "D:SCROLL.OBJ" 5 *ZERO PAGE EQUATES 6 SHPL EQU $F0 7 SHPH EQU $F1 8 SHPML EQU $F2 9 SHPMH EQU $F3 10 SHPM0L EQU $F4 11 SHPM0H EQU $F5 12 GROUNL EQU $F6 13 GROUNH EQU $F7 14 VALUEL EQU $F8 15 VALUEH EQU $F9 16 BLOCKL EQU $FA 17 BLOCKH EQU $FB 18 PMADR EQU $FC 19 CHSET EQU $FC 20 CHADR EQU $FE 21 E1L EQU $F8 22 E1H EQU $F9 23 E2L EQU $FA 24 E2H EQU $FB 25 MBZL EQU $F6 26 MBZH EQU $F7 27 *LOCATION EQUATES 28 SCREEN EQU $7000 ;ADR. OF MAP 29 INFO EQU $6900 30 NDLIST EQU $9400 ;ADR OF NEW DISPLAY LIST 31 CHRSET EQU $9000 ;ADR OF CHARACTER SET 32 *PLAYER MISSILE EQUATES 33 PMBASE EQU $D407 34 PDATA EQU $8800 35 GRACTL EQU $D01D 36 DMACTL EQU $22F 37 SIZEM EQU $D00C 38 SIZEP0 EQU $D008 39 PCOLR0 EQU $2C0 40 PCOLR1 EQU $2C1 41 PCOLR2 EQU $2C2 42 PCOLR3 EQU $2C3 43 HPOSP0 EQU $D000 44 HPOSP1 EQU $D001 45 HPOSP2 EQU $D002 46 HPOSP3 EQU $D003 47 HPOSM0 EQU $D004 48 HPOSM1 EQU $D005 49 HPOSM2 EQU $D006 50 HPOSM3 EQU $D007 51 *COLLISIONS 52 M0PF EQU $D000 53 P0PF EQU $D004 54 P1PF EQU $D005 55 P2PF EQU $D006 56 P3PF EQU $D007 57 M0PL EQU $D008 58 M1PL EQU $D009 59 M2PL EQU $D00A 60 P0PL EQU $D00C 61 HITCLR EQU $D01E 62 *MISC EQUATES 63 SETVBK EQU $E45C 64 XITVBK EQU $E462 65 STICK EQU $278 66 STRIG0 EQU $284 67 CONSOL EQU $D01F 68 CHBASE EQU $D409 69 HSCROL EQU $D404 70 WSYNC EQU $D40A 71 RANDOM EQU $D20A 72 COLOR0 EQU $2C4 73 COLORI EQU $2C5 74 COLOR4 EQU $2C8 75 AUDF1 EQU $D200 ;USE FOR LASER 76 AUDC1 EQU $D201 77 AUDF2 EQU $D202 ;USE FOR EXPLOSIONS ALIENS & TARGETS 78 AUDC2 EQU $D203 79 AUDF3 EQU $D204 ;USE FOR SHIP ENGINE 80 AUDC3 EQU $D205 81 AUDF4 EQU $D206 ;USE FOR SHIP EXPLOSION 82 AUDC4 EQU $D207 83 AUDCTL EQU $D208 84 SKCTL EQU $D20F 85 *SCREEN ENCODED DATA 4000 0000 86 VALUE DB $00,$00 ;ROW 0 4002 0000 87 DB $00,$00 ;ROW 1 4004 0000 88 DB $00,$00 ;ROW 2 4006 0000 89 DB $00,$00 ;ROW 3 4008 0000 90 DB $00,$00 ;ROW 4 400A 0000 91 DB $00,$00 ;ROW 5 400C 0000 92 DB $00,$00 ;ROW 6 400E 0000 93 DB $00,$00 ;ROW 7 4010 0000 94 DB $00,$00 ;ROW 8 4012 0000 95 DB $00,$00 ;ROW 9 4014 0000 96 DB $00,$00 ;ROW 10 4016 0000 97 DB $00,$00 ;ROW 11 4018 0000 98 DB $00,$00 ;ROW 12 401A 000304 99 DB $00,$03,$04,$01,$07,$08,$00 ;ROW 13 4021 000401 100 DB $00,$04,$01,$09,$00 ;ROW 14 4026 000302 101 DB $00,$03,$02,$01,$0A,$00,$04,$01 ;ROW 15 402E 0900 102 DB $09,$00 4030 000407 103 DB $00,$04,$07,$08,$00,$03,$02,$0A ;ROW 16 4038 000302 104 DB $00,$03,$02,$01,$0B,$00,$04,$01 4040 090004 105 DB $09,$00,$04,$0A,$05,$0A,$00 4047 000401 106 DB $00,$04,$01,$09,$00,$05,$01,$0B ;ROW 17 404F 000401 107 DB $00,$04,$01,$0A,$00,$04,$09,$00 4057 050109 108 DB $05,$01,$09,$00,$03,$02,$0A,$00 405F 04010B 109 DB $04,$01,$0B,$06,$0B,$00 4065 000501 110 DB $00,$05,$01,$09,$00,$06,$01,$07 ;ROW 18 406D 080004 111 DB $08,$00,$04,$01,$0B,$00,$03,$02 4075 010900 112 DB $01,$09,$00,$06,$01,$0A,$00,$05 407D 010B04 113 DB $01,$0B,$04,$01,$0A,$00 4083 000601 114 DB $00,$06,$01,$09,$00,$04,$01,$09 ;ROW 19 408B 000107 115 DB $00,$01,$07,$08,$00,$03,$02,$01 4093 090004 116 DB $09,$00,$04,$01,$0B,$00,$06,$01 409B 0B00 117 DB $0B,$00 409D 000302 118 DB $00,$03,$02,$09,$00,$03,$02,$0A ;ROW 20 40A5 000401 119 DB $00,$04,$01,$07,$08,$00,$03,$02 40AD 010900 120 DB $01,$09,$00,$03,$02,$07,$08,$00 40B5 0C0109 121 DB $0C,$01,$09,$00,$04,$01,$0A,$00 40BD 030201 122 DB $03,$02,$01,$0A,$00,$05,$01,$07 40C5 080003 123 DB $08,$00,$03,$02,$09,$00 40CB 000401 124 DB $00,$04,$01,$09,$00,$04,$01,$0B ;ROW 21 40D3 000501 125 DB $00,$05,$01,$09,$00,$04,$01,$00 40DB 0C0109 126 DB $0C,$01,$09,$00,$04,$01,$0B,$00 40E3 05010B 127 DB $05,$01,$0B,$00,$06,$01,$0A,$00 40EB 040904 128 DB $04,$09,$04,$09,$00,$04,$01,$09 40F3 000302 129 DB $00,$03,$02,$01,$07,$08,$00,$04 ;ROW 22 40FB 010708 130 DB $01,$07,$08,$00,$04,$01,$00,$04 4103 010900 131 DB $01,$09,$00,$04,$01,$07,$08,$00 410B 06010B 132 DB $06,$01,$0B,$04,$01,$09,$00,$03 4113 0201 133 DB $02,$01 4115 0101 134 DB $01,$01 ;ROW 23 4117 000000 135 DS $E9 4200 FF01 136 BLOCKS DB $FF,$01 ;ROW 0 4202 FF01 137 DB $FF,$01 ;ROW 1 4204 FF01 138 DB $FF,$01 ;ROW 2 4206 FF01 139 DB $FF,$01 ;ROW 3 4208 FF01 140 DB $FF,$01 ;ROW 4 420A FF01 141 DB $FF,$01 ;ROW 5 420C FF01 142 DB $FF,$01 ;ROW 6 420E FF01 143 DB $FF,$01 ;ROW 7 4210 FF01 144 DB $FF,$01 ;ROW 8 4212 FF01 145 DB $FF,$01 ;ROW 9 4214 FF01 146 DB $FF,$01 ;ROW 10 4216 FF01 147 DB $FF,$01 ;ROW 11 4218 FF01 148 DB $FF,$01 ;ROW 12 421A B70101 149 DB $B7,$01,$01,$05,$01,$01,$40 ;ROW 13 4221 B60109 150 DB $B6,$01,$09,$01,$3F ;ROW 14 4226 770101 151 DB $77,$01,$01,$07,$01,$34,$01,$0B ;ROW 15 422E 013E 152 DB $01,$3E 4230 300101 153 DB $30,$01,$01,$01,$0F,$01,$01,$01 ;ROW 16 4238 2E0101 154 DB $2E,$01,$01,$0B,$01,$33,$01,$0D 4240 011901 155 DB $01,$19,$01,$01,$01,$01,$20 4247 2F0103 156 DB $2F,$01,$03,$01,$0D,$01,$02,$01 ;ROW 17 424F 2D010E 157 DB $2D,$01,$0E,$01,$0E,$01,$01,$21 4257 010F01 158 DB $01,$0F,$01,$13,$01,$01,$01,$01 425F 010101 159 DB $01,$01,$01,$01,$01,$20 4265 2E0105 160 DB $2E,$01,$05,$01,$0C,$01,$03,$01 ;ROW 18 426D 012901 161 DB $01,$29,$01,$10,$01,$0C,$01,$01 4275 020120 162 DB $02,$01,$20,$01,$10,$01,$11,$01 427D 020101 163 DB $02,$01,$01,$05,$01,$1F 4283 2E0106 164 DB $2E,$01,$06,$01,$0A,$01,$06,$01 ;ROW 19 428B 281201 165 DB $28,$12,$01,$01,$08,$01,$01,$05 4293 011701 166 DB $01,$17,$01,$18,$01,$11,$01,$09 429B 011F 167 DB $01,$1F 429D 100101 168 DB $10,$01,$01,$01,$0C,$01,$01,$01 ;ROW 20 42A5 0B0108 169 DB $0B,$01,$08,$01,$01,$04,$01,$01 42AD 0A011B 170 DB $0A,$01,$1B,$01,$01,$01,$01,$08 42B5 012301 171 DB $01,$23,$01,$15,$01,$1A,$01,$08 42BD 010102 172 DB $01,$01,$02,$01,$02,$01,$0B,$01 42C5 011901 173 DB $01,$19,$01,$01,$01,$01 42CB 0F0103 174 DB $0F,$01,$03,$01,$0A,$01,$02,$01 ;ROW 21 42D3 0A011C 175 DB $0A,$01,$1C,$01,$19,$01,$04,$0B 42DB 012101 176 DB $01,$21,$01,$0C,$01,$22,$01,$07 42E3 010401 177 DB $01,$04,$01,$02,$01,$0D,$01,$01 42EB 010101 178 DB $01,$01,$01,$01,$12,$01,$03,$01 42F3 0D0101 179 DB $0D,$01,$01,$05,$01,$01,$07,$01 ;ROW 22 42FB 3A0101 180 DB $3A,$01,$01,$08,$01,$05,$0B,$01 4303 280104 181 DB $28,$01,$04,$01,$24,$01,$01,$05 430B 011501 182 DB $01,$15,$01,$01,$04,$01,$0F,$01 4313 0105 183 DB $01,$05 4315 FF01 184 DB $FF,$01 ;ROW 23 4317 000000 185 DS $E9 186 *CHARACTER SET 512 BYTES LONG 4400 000000 187 SETCHAR DB $00,$00,$00,$00,$00,$00,$00,$00 4408 FFFFFF 188 DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF 4410 030F3F 189 DB $03,$0F,$3F,$FF,$FF,$FF,$FF,$FF 4418 000000 190 DB $00,$00,$00,$00,$03,$0F,$3F,$FF 4420 010307 191 DB $01,$03,$07,$0F,$1F,$3F,$7F,$FF 4428 010103 192 DB $01,$01,$03,$03,$07,$07,$0F,$0F ;#5 4430 1F1F3F 193 DB $1F,$1F,$3F,$3F,$7F,$7F,$FF,$FF 4438 C0F0FC 194 DB $C0,$F0,$FC,$FF,$FF,$FF,$FF,$FF 4440 000000 195 DB $00,$00,$00,$00,$C0,$F0,$FC,$FF 4448 80C0E0 196 DB $80,$C0,$E0,$F0,$F8,$FC,$FE,$FF 4450 8080C0 197 DB $80,$80,$C0,$C0,$E0,$E0,$F0,$F0 ;#10 4458 F8F8FC 198 DB $F8,$F8,$FC,$FC,$FE,$FE,$FF,$FF 4460 FF7F3F 199 DB $FF,$7F,$3F,$1F,$0F,$07,$03,$01 4468 000000 200 DS $98 4500 80C167 201 DB $80,$C1,$67,$3F,$1F,$1F,$3F,$3F ;#32 4508 00C0F0 202 DB $00,$C0,$F0,$F8,$F8,$FC,$FC,$FE 4510 804020 203 DB $80,$40,$20,$10,$08,$04,$02,$01 4518 3C3C3C 204 DB $3C,$3C,$3C,$3C,$7E,$7E,$FF,$C3 4520 181818 205 DB $18,$18,$18,$18,$18,$18,$3C,$3C 4528 003E60 206 DB $00,$3E,$60,$60,$6E,$66,$3E,$00 ;G 4530 00183C 207 DB $00,$18,$3C,$66,$66,$7E,$66,$00 ;A 4538 006377 208 DB $00,$63,$77,$7F,$6B,$63,$63,$00 ;M 4540 007E60 209 DB $00,$7E,$60,$7C,$60,$60,$7E,$00 ;E 4548 003C66 210 DB $00,$3C,$66,$66,$66,$66,$3C,$00 ;0 4550 006666 211 DB $00,$66,$66,$66,$66,$3C,$18,$00 ;V 4558 007C66 212 DB $00,$7C,$66,$66,$7C,$6C,$66,$00 ;R 4560 000000 213 DS $A0 214 *PLAYER#1 PROGRAMABLE BLOCK 4600 D05030 215 ENEMY1 DB $D0,$50,$30 ;X,Y,DELAY 4603 2800FF 216 DB $28,$00,$FF,$00,$00,$00 ;SHAPE#0 4609 5000FF 217 DB $50,$00,$FF,$01,$00,$00 460F 7000FF 218 DB $70,$00,$FF,$00,$01,$07 4615 FF00FF 219 DB $FF,$00,$FF,$00,$00,$00 461B 000000 220 DB $00,$00,$00,$00,$00,$00 4621 000000 221 DB $00,$00,$00,$00,$00,$00 4627 000000 222 DB $00,$00,$00,$00,$00,$00 462D 000000 223 DB $00,$00,$00,$00,$00,$00 4633 D07540 224 DB $D0,$75,$40 ;SHAPE#1 4636 3000FF 225 DB $30,$00,$FF,$FF,$00,$00 463C 550000 226 DB $55,$00,$00,$01,$00,$00 4642 6500FF 227 DB $65,$00,$FF,$FF,$00,$00 4648 7500FF 228 DB $75,$00,$FF,$FF,$01,$06 464E 8000FF 229 DB $80,$00,$FF,$01,$01,$05 4654 9800FF 230 DB $98,$00,$FF,$FF,$00,$00 465A FF0000 231 DB $FF,$00,$00,$FF,$01,$03 4660 000000 232 DB $00,$00,$00,$00,$00,$00 4666 503225 233 DB $50,$32,$25 ;SHAPE#2 4669 150001 234 DB $15,$00,$01,$01,$00,$00 466F 300001 235 DB $30,$00,$01,$01,$01,$05 4675 400001 236 DB $40,$00,$01,$00,$01,$06 467B 530001 237 DB $53,$00,$01,$00,$00,$00 4681 700001 238 DB $70,$00,$01,$FF,$00,$00 4687 8000FF 239 DB $80,$00,$FF,$00,$00,$00 468D A800FF 240 DB $A8,$00,$FF,$01,$01,$05 4693 FF01FF 241 DB $FF,$01,$FF,$00,$01,$03 4699 D07035 242 DB $D0,$70,$35 ;SHAPE#3 469C 2000FF 243 DB $20,$00,$FF,$FF,$00,$00 46A2 4000FF 244 DB $40,$00,$FF,$01,$00,$00 46A8 6000FF 245 DB $60,$00,$FF,$FF,$01,$06 46AE 8000FF 246 DB $80,$00,$FF,$FF,$01,$06 46B4 9800FF 247 DB $98,$00,$FF,$01,$01,$07 46BA FF00FF 248 DB $FF,$00,$FF,$FF,$01,$01 46C0 000000 249 DB $00,$00,$00,$00,$00,$00 46C6 000000 250 DB $00,$00,$00,$00,$00,$00 46CC D06515 251 DB $D0,$65,$15 ;SHAPE#4 46CF 2500FF 252 DB $25,$00,$FF,$00,$00,$00 46D5 4000FF 253 DB $40,$00,$FF,$01,$00,$00 46DB 6000FF 254 DB $60,$00,$FF,$FF,$01,$06 46E1 800000 255 DB $80,$00,$00,$FF,$01,$06 46E7 A000FF 256 DB $A0,$00,$FF,$01,$01,$05 46ED FF00FF 257 DB $FF,$00,$FF,$00,$01,$01 46F3 000000 258 DB $00,$00,$00,$00,$00,$00 46F9 000000 259 DB $00,$00,$00,$00,$00,$00,$00 4700 D04050 260 ENEMY2 DB $D0,$40,$50 ;X,Y,DELAY 4703 3800FF 261 DB $38,$00,$FF,$01,$00,$00 ;SHAPE#0 4709 5000FE 262 DB $50,$00,$FE,$FF,$01,$06 470F 6800FF 263 DB $68,$00,$FF,$FF,$00,$00 4715 7800FF 264 DB $78,$00,$FF,$01,$00,$00 471B 9000FF 265 DB $90,$00,$FF,$00,$01,$03 4721 FF00FF 266 DB $FF,$00,$FF,$00,$00,$00 4727 000000 267 DB $00,$00,$00,$00,$00,$00 472D 000000 268 DB $00,$00,$00,$00,$00,$00 4733 D03520 269 DB $D0,$35,$20 ;SHAPE#1 4736 1800FF 270 DB $18,$00,$FF,$01,$00,$00 473C 3000FF 271 DB $30,$00,$FF,$FF,$00,$00 4742 4000FF 272 DB $40,$00,$FF,$00,$00,$00 4748 6000FF 273 DB $60,$00,$FF,$01,$01,$06 474E 700001 274 DB $70,$00,$01,$00,$01,$07 4754 8000FF 275 DB $80,$00,$FF,$FF,$01,$07 475A FF00FF 276 DB $FF,$00,$FF,$01,$01,$03 4760 000000 277 DB $00,$00,$00,$00,$00,$00 4766 D08020 278 DB $D0,$80,$20 ;SHAPE#2 4769 3000FF 279 DB $30,$00,$FF,$00,$00,$00 476F 5000FF 280 DB $50,$00,$FF,$FF,$00,$00 4775 6000FF 281 DB $60,$00,$FF,$FF,$01,$07 477B 7800FF 282 DB $78,$00,$FF,$01,$01,$05 4781 FF00FF 283 DB $FF,$00,$FF,$FF,$01,$03 4787 000000 284 DB $00,$00,$00,$00,$00,$00 478D 000000 285 DB $00,$00,$00,$00,$00,$00 4793 000000 286 DB $00,$00,$00,$00,$00,$00 4799 D05520 287 DB $D0,$55,$20 ;SHAPE#3 479C 1500FF 288 DB $15,$00,$FF,$01,$00,$00 47A2 3500FE 289 DB $35,$00,$FE,$00,$00,$00 47A8 450001 290 DB $45,$00,$01,$FF,$00,$00 47AE 550000 291 DB $55,$00,$00,$FF,$01,$06 47B4 7000FF 292 DB $70,$00,$FF,$00,$00,$00 47BA 9500FF 293 DB $95,$00,$FF,$00,$01,$05 47C0 FF00FF 294 DB $FF,$00,$FF,$00,$01,$03 47C6 000000 295 DB $00,$00,$00,$00,$00,$00 47CC D06520 296 DB $D0,$65,$20 ;SHAPE#4 47CF 2000FF 297 DB $20,$00,$FF,$00,$00,$00 47D5 3800FF 298 DB $38,$00,$FF,$FF,$00,$00 47DB 5000FF 299 DB $50,$00,$FF,$01,$01,$06 47E1 6800FF 300 DB $68,$00,$FF,$00,$01,$05 47E7 7800FF 301 DB $78,$00,$FF,$FF,$01,$03 47ED FF00FF 302 DB $FF,$00,$FF,$01,$00,$00 47F3 000000 303 DB $00,$00,$00,$00,$00,$00 47F9 000000 304 DB $00,$00,$00,$00,$00,$00,$00 4800 707070 305 DLIST DB $70,$70,$70,$46,$00,$69,$86,$56 4808 007256 306 DB $00,$72,$56,$00,$73,$56,$00,$74 4810 560075 307 DB $56,$00,$75,$56,$00,$76,$56,$00 4818 775600 308 DB $77,$56,$00,$78,$56,$00,$79,$56 4820 007A56 309 DB $00,$7A,$56,$00,$7B,$56,$00,$7C 4828 56007D 310 DB $56,$00,$7D,$56,$00,$7E,$56,$00 4830 7F5600 311 DB $7F,$56,$00,$80,$56,$00,$81,$56 4838 008256 312 DB $00,$82,$56,$00,$83,$56,$00,$84 4840 560085 313 DB $56,$00,$85,$56,$00,$86,$56,$00 4848 874100 314 DB $87,$41,$00,$94 484C 8080C0 315 SHIP DB $80,$80,$C0,$FC,$F6,$7F,$7E,$00 4854 3C3C3C 316 ALIEN DB $3C,$3C,$3C,$7E,$DB,$DB,$DB,$DB 485C 81423C 317 DB $81,$42,$3C,$3C,$3C,$3C,$42,$81 4864 3C3C18 318 DB $3C,$3C,$18,$18,$99,$FF,$C3,$81 486C 917E46 319 DB $91,$7E,$46,$C2,$43,$62,$7E,$89 4874 00003C 320 DB $00,$00,$3C,$7E,$FF,$7E,$3C,$00 487C 545C64 321 ALIENPT DB $54,$5C,$64,$6C,$74 4881 003366 322 E1PT DB $00,$33,$66,$99,$CC 4886 003366 323 E2PT DB $00,$33,$66,$99,$CC 488B 03000C 324 MSHAPE DB $03,$00,$0C,$0C,$30,$30,$C0,$C0 ;4 MISSILES EACH TWO HIGH 4893 8B8D8F 325 MISL0 DB $8B,$8D,$8F,$91 4897 F83EF8 326 BOMBSH DB $F8,$3E,$F8,$00,$00,$00,$00,$00 489F 000101 327 VMX DB $00,$01,$01,$01,$00,$FF,$FF,$FF 48A7 FFFF00 328 VMY DB $FF,$FF,$00,$01,$01,$01,$00,$FF 48AF 2B4A69 329 MBPOSL DB $2B,$4A,$69,$84,$97,$A9,$D3 48B6 848485 330 MBPOSH DB $84,$84,$85,$82,$84,$83,$84 331 *TITLE AT STRIKE FORCE 332 48BD 000000 333 TITLE DB 0,0,0,0,$33,$34,$32,$29,$2B,$25,0,$26,$2F,$32,$23,$25,0,0,0,0 334 335 336 * AT 'SHIPS 0 SCORE 00000' 337 48D1 332829 338 DB $33,$28,$29,$30,$33,0,$10,0 48D9 003323 339 DB 0,$33,$23,$2F,$32,$25,0,$10,$10,$10,$10,$10 340 48E5 204259 341 TITLE1 DB $20,$42,$59,$20,$4A,$45,$46,$46,$52,$45 48EF 592053 342 DB $59,$20,$53,$54,$41,$4E,$54,$4F,$4E,$20 48F9 000000 343 DS 7 4900 656667 344 GOVER DB $65,$66,$67,$68,$00,$69,$6A,$68,$6B ;GAME OVER 345 *VARIABLES 4909 00 346 XPM0 DS 1 ;ACTUAL X POS ON SCREEN 490A 00 347 YPM0 DS 1 ;ACTUAL Y POS ON SCREEN 490B 00 348 XPL DS 1 ;SHIP POS IN WORLD 0-1060 490C 00 349 XPH DS 1 490D 00 350 XS DS 1 ;BACKGROUND AT LEFT EDGE 490E 00 351 FS DB 0 ;FINE SCROLL REG 490F 00 352 YMISO0 DS 1 ;OLD Y VALUE FOR MISSILE #0 4910 00 353 YMISO1 DS 1 4911 00 354 YMISO2 DS 1 4912 00 355 INDEX1 DS 1 ;USED FOR TEMP STORAGE 4913 00 356 INDEX2 DS 1 4914 00 357 COUNT DB 0 ;COUNTER DURING DATA UNPACK 4915 00 358 TEMP DS 1 ;TEMP STORAGE 4916 00 359 BACK DB 0 ;STICK BACK FLAG 4917 00 360 SPEED DS 1 ;SHIP SPEED FLAG - FAST OR SLOW 4918 00 361 BOMBON DS 1 ;FLAG SET WHEN BOMB DROPPING 4919 0000 362 VBFLAG DW 0 ;FLAG ON UPON ENTERING VBLANK 491B 00 363 XSP DS 1 ;BACKGROUND AT SHIP 491C 00 364 ONSCR1 DB 0 ;ALIEN SHIP ON SCREEN FLAG 491D 00 365 ONSCR2 DB 0 491E 28 366 TDLAY1 DB 40 ;CURRENT DELAY BEFORE ALIEN APPEARS 491F 00 367 TDLAY2 DS 1 4920 00 368 NDLAY1 DS 1 ;DELAY FOR NEXT ALIEN TO APPEAR 4921 00 369 NDLAY2 DS 1 4922 00 370 TIMR1L DS 1 ;ALIEN SHIP #1 TIMER 4923 00 371 TIMR1H DS 1 4924 00 372 TIMR2L DS 1 ;ALIEN SHIP #2 TIMER 4925 00 373 TIMR2H DS 1 4926 00 374 TIME1L DS 1 ;WHEN TO READ NEXT ALIEN#1 INSTRUCTION 4927 00 375 TIME2L DS 1 4928 00 376 TIME1H DS 1 4929 00 377 TIME2H DS 1 492A 00 378 TMIS0 DS 1 492B 00 379 TMIS1 DS 1 ;ALIEN #1 MISSILE TIMER 492C 00 380 TMIS2 DS 1 492D 00 381 VX0 DS 1 492E 00 382 VX1 DS 1 ;VELOCITY ALIEN #1 492F 00 383 VX2 DS 1 4930 00 384 VX3 DS 1 ;VELOCITY BOMB 4931 00 385 VY0 DS 1 4932 00 386 VY1 DS 1 ;VELOCITY ALIEN #1 4933 00 387 VY2 DS 1 4934 00 388 VY3 DS 1 ;VELOCITY BOMB 4935 00 389 VTEMP DS 1 4936 00 390 ACCEL DS 1 ;BOMB ACCELERATION 4937 00 391 X0 DS 1 4938 00 392 X1 DS 1 ;ALIEN #1 POSITION 4939 00 393 X2 DS 1 493A 00 394 X3 DS 1 ;HORIZ POSITION BOMB 493B 00 395 Y0 DS 1 493C 00 396 Y1 DS 1 ;ALIEN #1 POSITION 493D 00 397 Y2 DS 1 493E 00 398 Y3 DS 1 ;VERT POSITION BOMB 493F 00 399 X0M DS 1 ;HORIZ MISSILE #0 POSITION 4940 00 400 X1M DS 1 4941 00 401 X2M DS 1 4942 00 402 Y0M DS 1 ;VERT MISSILE #0 POSITION 4943 00 403 Y1M DS 1 4944 00 404 Y2M DS 1 4945 00 405 SHOOT0 DS 1 4946 00 406 SHOOT1 DS 1 ;FLAG FOR ALIEN #1 TO SHOOT 4947 00 407 SHOOT2 DS 1 4948 000000 408 TEMPL DS 4 ;TEMP STORAGE DURING PLOTTING 494C 000000 409 TEMPH DS 4 4950 00 410 DIR0 DS 1 4951 00 411 DIR1 DS 1 ;DIRECTION TO SHOOT ALIEN #1 4952 00 412 DIR2 DS 1 4953 00 413 MDIR0 DS 1 4954 00 414 MDIR1 DS 1 ;TEMP STORAGE DURING MISSILE TRACK 4955 00 415 MDIR2 DS 1 4956 00 416 MASK DS 1 ;MISSILE #0 MASK 4957 FC 417 MASK0 DB $FC ;MISSILE #0 14ASK 4958 F3 418 MASK1 DB $F3 4959 CF 419 MASK2 DB $CF 495A 000000 420 LASON DS 4 ;LASER ON FLAG 495E 000000 421 LPOSL DS 4 ;ACTUAL SCREEN POSITION OF LASER -LO 4962 000000 422 LPOSH DS 4 4966 000000 423 LDELAY DS 4 ;DELAY UNTIL LASER BASE REFIRES 496A 000000 424 LCOUNT DS 4 ;DELAY BETWEEN MOVEMENT OF LASER BEAM 496E 000000 425 GALIVE DS 4 ;LASER BASE ON FLAG 4972 000000 426 YG DS 4 ;LASER BASE Y POSITION 4976 000000 427 XG DS 4 ;LASER BASE X POSITION 497A 00 428 SR10 DS 1 ;SCORE 10'S DIGIT 497B 00 429 SR100 DS 1 497C 00 430 SR1000 DS 1 497D 00 431 SR10T DS 1 497E 00 432 HSR10 DS 1 ;HIGH SCORE 10'S DIGIT 497F 00 433 HSR100 DS 1 4980 00 434 HSR1K DS 1 4981 00 435 HSR10T DS 1 4982 00 436 DELAY DS 1 ;DELAY FLAG ON WHEN SHIP EXPLODES 4983 00 437 SHIPNUM DS 1 ;NUMBER OF SHIPS 4984 00 438 BTARGET DS 1 ;PLAYFIELD POSITION OF BOMB 4985 00 439 STRIKE DS 1 ;COUNTER FOR TARGET HIT 4986 00 440 MBCOUNT DS 1 ;# MISSILE BASES HIT 4987 00 441 LUCK DS 1 ;RANDOM # 0-4 4988 00 442 RDSHP1 DS 1 ;RANDOM SHAPE # ALIEN #1 4989 00 443 RDSHP2 DS 1 498A 00 444 POS DS 1 ;HORIZ BOMB POSITION 498B 00 445 T DS 1 ;FLAG FOR WHICH PART OF TITLE IS ON SCREEN 498C 00 446 OVER DS 1 ;OFFSET TO WHERE GAME OVER TITLE IS WRITTEN 498D 04 447 DELAY1 DB $04 498E 00 448 SLTIM DS 1 ;COUNTDOWN TIMER FOR LASER SOUND 498F 00 449 SLTIM1 DS 1 4990 00 450 SETIME DS 1 ;COUNTDOWN TIMER FOR EXPLOSION 4991 00 451 SEXTIME DS 1 ;COUNTDOWN TIMER FOR SHIP EXPLOSION 4992 00 452 REZFLAG DS 1 ;DEREZ ON FLAG 4993 00 453 EXCOUNT DS 1 ;COUNTER DURING DEREZ 4994 00 454 MEDIUM DS 1 ;PLAY MEDIUM DIFFICULTY FLAG 4995 00 455 HARD DS 1 ;PLAY HARD DIFFICULTY 4996 000000 456 DEREZ DS 8 ;DUMMY AREA FOR SHUP DURING DEREZ 457 *** IN "D:SCROLL1B" 458 *PART 2 OF SCROLLING GAME 459 *ZERO HIGH SCORE & SCORE 499E A910 460 LDA #$10 ;SCORES ARE OFFSET BY #$10 TO MATCH CHARACTER SET 49A0 8D7A49 461 STA SR10 49A3 8D7B49 462 STA SR100 49A6 8D7C49 463 STA SR1000 49A9 8D7D49 464 STA SR10T 49AC 8D7E49 465 STA HSR10 49AF 8D7F49 466 STA HSR100 49B2 8D8049 467 STA HSR1K 49B5 8D8149 468 STA HSR10T 469 *SET SYSTEM RESET VECTOR 49B8 A949 470 LDA #208 5134 B011 1281 BGE BA6 5136 AD3C49 1282 LDA Y1 5139 C930 1283 CMP #$30 ;Y<48 513B 900A 1284 BL BA6 513D C9E1 1285 CMP #$E1 ;Y>224 513F B006 1286 BGE BA6 5141 20C352 1287 JSR PLTST1 5144 4C5751 1288 JMP EE 5147 A900 1289 BA6 LDA #$00 5149 8D1C49 1290 STA ONSCR1 514C AD2049 1291 LDA NDLAY1 514F 8D1E49 1292 STA TDLAY1 5152 A9E0 1293 LDA #$E0 ;REMOVE ALIEN FROM SCREEN 5154 8D01D0 1294 STA HPOSP1 5157 EA 1295 EE NOP 5158 AD1F49 1296 ATTAK2 LDA TDLAY2 ;STILL IN DELAY? 515B F015 1297 BEQ BB05 515D CE1F49 1298 DEC TDLAY2 5160 A900 1299 LDA #$00 5162 8D2449 1300 STA TIMR2L 5165 AD2C49 1301 LDA TMIS2 5168 F005 1302 BEQ BB08 516A A202 1303 LDX #$02 516C 204953 1304 JSR MISSILE 516F 4C6B52 1305 BB08 JMP EE2 5172 AD1D49 1306 BB05 LDA ONSCR2 ;ALIEN #1 ON SCREEN? 5175 F003 1307 BEQ BB07 5177 4CDA51 1308 JMP BB1 517A 20E657 1309 BB07 JSR CHANCE 517D AE8749 1310 LDX LUCK ;PLAYER #2,SHAPE#LUCK PATTERN 5180 BD8648 1311 LDA E2PT,X ;SETUP TO READ DATA 5183 85FA 1312 STA E2L 5185 A947 1313 LDA #208 5248 B011 1403 BGE BC6 524A AD3D49 1404 LDA Y2 524D C930 1405 CMP #$30 ;Y<48 524F 900A 1406 BL BC6 5251 C9E1 1407 CMP #$E1 ;Y>224 5253 B006 1408 BGE BC6 5255 20F152 1409 JSR PLTST2 5258 4C6B52 1410 JMP EE2 525B A900 1411 BC6 LDA #$00 525D 8D1D49 1412 STA ONSCR2 5260 AD2149 1413 LDA NDLAY2 5263 8D1F49 1414 STA TDLAY2 5266 A9E0 1415 LDA #$E0 ;REMOVE ALIEN FROM SCREEN 5268 8D02D0 1416 STA HPOSP2 526B 205C58 1417 EE2 JSR SOUND 526E 4C62E4 1418 PAST JMP XITVBK 1419 *** IN "D:SCROLLIC" 1420 *PART 3 OF SCROLLING GAME 1421 *DISPLAY LIST INTERUPT ROUTINE 5271 48 1422 DLI PHA 5272 A990 1423 LDA #$90 ;HI BYTE OF CUSTOM SET 5274 8D0AD4 1424 STA WSYNC 5277 8D09D4 1425 STA CHBASE 527A 68 1426 PLA 527B 40 1427 RTI 1428 *PUT SHAPE IN P/M AREA 527C A000 1429 PLOT LDY #$00 ;COUNTER 527E 91F2 1430 STA (SHPML),Y ;PUT IN P/M AREA 5280 A900 1431 LDA #$00 ;NEED 0 TO ERASE EACH TIME 5282 91F4 1432 BD1 STA (SHPM0L),Y ;ERASE OLD SHAPE FIRST 5284 C8 1433 INY 5285 C008 1434 CPY #$08 5287 90F9 1435 BL BD1 5289 A000 1436 LDY #$00 528B B1F0 1437 BD2 LDA (SHPL),Y ;GET BYTE FROM PROPER SHAPE TABLE 528D 91F2 1438 STA (SHPML),Y ;PUT IN P/M AREA 528F C8 1439 INY 5290 C008 1440 CPY #$08 5292 90F7 1441 BL BD2 5294 A5F2 1442 LDA SHPML ;TRANSFER NEW P/M POS TO OLD POS 5296 9D4849 1443 STA TEMPL,X 5299 A5F3 1444 LDA SHPMH 529B 9D4C49 1445 STA TEMPH,X 529E 60 1446 RTS 529F AD0A49 1447 PLTST LDA YPM0 ;CORRECTED YPOS 52A2 85F2 1448 STA SHPML 52A4 A988 1449 LDA #